Consumers Value Stability
In today's computer marketplace there are a myriad of options available to the consumer. Computer configurations that contain a wide array of hardware and software options are often available from a single computer manufacturer such that a single computer manufacturer may offer custom solutions to suit different needs. Some consumers desire to have the latest processor and/or operating system as soon as each are commercially available. These consumers generally tolerate the difficulties encountered by having the latest hardware and software—i.e., overall system instability. System instability results because software developers generally do not know the particular hardware platform that their application will be run on, and therefore write generic multi-platform software applications. This dilemma is exacerbated by the proliferation of successive generations of hardware that contain new features which were not originally considered by software developers. Consumers who are willing to deal with this instability to obtain the latest technology are often smaller entities who are purchasing the computer for home/personal use.
Other consumers are willing to forego the latest changes in hardware and software technology in favor of stable system operation. These consumers generally do not tolerate instability and are willing to pay a premium for a higher degree of stability. For example, a business with its operations dependent on stable computer system operation may not be as concerned with having the fastest processor, but rather more concerned with long term stable computer operation. Many computer manufacturers recognize this business niche and strive to provide stable system operation at a premium.
Revision Identification
In the context of computer systems, hardware is a general term that may be used to describe the non-software portions of a computer system such as integrated circuits, expansion cards, storage devices, etc. New versions of hardware are released for various reasons such as fixing bugs, adding new features, making changes to manufacturing processes, etc. Generally, each new release of hardware will contain a revision identifier (“rev ID”), so as to note and track the changes made between successive generations of hardware. For example, a chip controlling the PCI bridge may undergo a change in manufacturing in order to increase product yield while the functionality of the chip remains unchanged. In this example, the new chip containing the manufacturing changes would receive a new rev ID. This rev ID may be hardware-encoded into the chip. The computer system may comprise many chips, each having their own rev ID.
System Instability
Whenever a computer system is powered on or reset, a storage device (e.g., ROM, NVRAM, etc.) that includes preliminary startup instructions is used to get the computer system up and running. These instructions are generally called the “BIOS,” originally because it was used to initialize the basic input/output systems of the computer.
While actual BIOS routines may vary between manufacturers, most have a similar sequence of basic routines that may be rearranged through custom settings. On power up, the BIOS typically checks information stored in a complementary metal oxide semiconductor (“CMOS”) memory chip for custom system settings. The BIOS detects hardware devices located in the system (e.g., chips, floppy drive, peripheral cards, etc.), where detecting hardware often includes checking the rev ID of the chips associated with the computer system. Upon detecting the various hardware devices, the BIOS loads interrupt handlers and device drivers. Also, registers and power management systems are initialized. A Power-On-Self-Test (“POST”) is typically performed which may verify that the identified hardware devices are working properly. The bootable devices are determined and the operating system is launched or “booted up.”
Once the operating system is up and running, it determines whether the rev ID numbers have changed from the last time the computer system was booted up. A change in the rev ID from the last boot up could indicate that a different version of the previous device is present or it could possibly indicate a new hardware device altogether. In any case, the operating system may detect a different rev ID number than expected and indicate to the computer user that new hardware exists.
A device that undergoes a change in rev ID number without a change in functionality (e.g., manufacturing changes, bug fixes, etc.), undergoes what is called a “transparent step.” If the rev ID change is a transparent step and no functionality change has taken place, then the new hardware should not need a new device driver and the operating system may load the same device driver as it did for the previous version. The net result is that transparent steps that are detected by the operating system may be reported to the user regardless of the fact that the same device driver is used. This can be problematic for consumers because it may give the impression that the system is unstable when it is not.